package homework.homework03.entry;

import java.util.Random;
import java.util.function.Function;

public class Entry {
    private static final Random random = new Random();

    public static void main(String[] args) {

        // 定义一个存储学生姓名的数组
        String[] userNames = {"郭靖", "黄药师", "黄蓉", "欧阳锋", "老顽童", "瑛姑"};

        /*// 在等号右边补全代码实现getUserName方法调用
        String userName = getUserName(new Function<String[], String>() {
            @Override
            public String apply(String[] strings) {
                //点名的逻辑
                //获取一个随机索引
                return strings[random.nextInt(userNames.length)];
            }
        }, userNames) ;*/
        //利用Lambda进行简化
        // 在等号右边补全代码实现getUserName方法调用
                                                                    //点名的逻辑
                                                                    //获取一个随机索引
        String userName = getUserName(strings -> strings[random.nextInt(userNames.length)], userNames);




        // 输出
        System.out.println("请" + userName + "同学回答问题！");

    }

    // 从数组中随机获取一个元素
    public static String getUserName(Function<String[], String> function, String[] userNames) {
        return function.apply(userNames);//典型的对象回调思想
    }

}
